Hướng dẫn lập trình giao diện Java
Mục tiêu bài học
Giới thiệu gói thư viện AWT
So sánh AWT và Swing
Cài đặt Swing trên NetBean
Khởi tạo một Java App cơ bản
Container Component (JFrame, JPanel)
Giới thiệu tổng quan về java swing
JFC là gì ?
Java Foundation Classes
Tập hợp các tính năng để xây dựng giao diện người dùng đồ họa – GUI, để tạo ra các chức năng đồ họa phong phú và tương tác với các ứng dụng Java
JFC là một dự án phối hợp giữa Netscape’s Internet Foundation Classes(IFC) và IBM's Taligent division and Lighthouse Design
JFC bao gồm 5 thư viện:
Swing GUI Components
AWT
Plugable Look and Feel Support
Accessibility API
Java 2D API
Look and feel Manager: Bộ phận quản lý diện mạo nhằm làm thay đôi bộ mặt của chương trình Java. Chẳng hạn, có thể làm chó ứng dụng chạy trên PC với hệ điều hành Windows trông giống như chương trình chạy trên máy với hệ điều hành Macintosh (Mac OS), hoặc của Motif trong UNIX, v.v…
Thành phần hỗ trợ người khuyết tật (Accessibility Application Programmimg Intefrace), bằng cách làm cho ứng dụng tương tác với các phương tiện khác như bộ đọc chữ Braille, bộ đọc chữ từ màn hình (Screen Reader)
Bộ phận hỗ trợ đồ hoạ 2 và 3 chiều
Drag and Drop Support, nhằm hỗ trợ tương tác giữa người và máy trên mọi hệ điều hành, qua đó có thể trao đổi dữ liệu giữa chương trình Java và không phải Java
AWT
Giới thiệu chung
(Abstract Windows Toolkit)
Thư viện API cung cấp các đối tượng GUI
Tạo liên kết giao diện giữa ứng dụng Java và OS
Chiếm nhiều tài nguyên hệ thống(Heavy-weight component)
Package java.awt
Gồm nhiều phần tử (class) để tạo GUI.
Có các lớp quản lý việc bố trí các phần tử.
Có (event-oriented application) mô hình ứng dụng hướng sự kiện.
Có các công cụ xử lý đồ họa và hình ảnh.
Các lớp sử dụng các tác vụ với clipboard (vùng nhớ đệm) như cut, paste.
Demo AWT
import java.awt.*;
public class DemoAWT extends Frame
{
public DemoAWT(String title)
{
super(title); this.setBounds(100,150,200,200); this.setVisible(true);
}
public static void main (String[] args) { new DemoAWT("First App");
}
}
SWING
Giới thiệu chung
SWING. không phải là một từ viết tắt, Swing là một sản phẩm của gia đình lớn Java, một phần của dự án JFC
Swing bắt đầu được phát triển từ bản beta của JDK 1.1, khoảng mùa xuân năm 1997, đến tháng 3 năm 1998 thì bắt đầu được công bố rộng rãi
Khi phát hành thư viện Swing 1.0 chứa 250 class và 80 interface, đến nay phiên bản Swing 1.4 chứa 451 class và 85 interface
Mặc dù Swing được phát triển riêng rẽ với phần lõi của Java Development Kit, nó đòi hỏi ít nhất JDK 1.1.5 để chạy
SWING là sự mở rộng AWT
Tạo giao diện nhất quán độc lập với môi trường(cross- platform GUI)
Đa luồng và nhẹ (Light - weight component) với nhiều đặc điểm nâng cấp
Có khả năng tùy biến tại thời điểm runtime
Không sử dụng trộn lẫn AWT và SWING GUI component trên cùng một giao diện
Package java.swing
Sự xuất hiện thêm Swing từ Java 1.2 nhằm giúp khắc phục sự khó khăn của AWT khi cần bổ sung thêm các widget mới
Đặc biệt, khắc phục bộ mặt nghèo nàn của chương trình viết bằng AWT so với các giao diện đẹp đẽ khác (chẳng hạn với MFC (Microsoft Foundation Classes) của Microssoft
So sánh AWT và SWING
SWING:
Có thể bổ sung thêm biểu tượng bên cạnh dòng chữ vào Label, Button, Menu item
Tạo đường viền và ghi tựa cho các thành phần Swing
Có thể chọn một thành phần Swing bằng
Cách dùng phím thay cho chuột
Các thành phần Swing sử dụng các nhãn Unicode, vì vậy có thể đưa tiếng Việt vào các thành phần này
Vậy swing là sự thay thế của AWT?
Không. Swing thực tế được xây dựng trên phần lõi của AWT, bởi vì Swing không chứa bất kỳ mã dành cho nền tảng nào (native code)
Mô tả mối quan hệ giữa AWT, SWING, và JDK:
Kiến trúc SWING
Dịch và chạy một chương trình Swing
Bước 1: tải và cài đặt phiên bản JDK mới nhất tại http://www.oracle.com/technetwork/java/javase/downloa ds/index.html
Bước 2: cấu hình biến môi trường, JavaHome và PATH
Bước 3: download chương trình Swing demo “HelloWorldSwing.java” https://docs.oracle.com/javase/tutorial/uiswing/examples/ start/HelloWorldSwingProject/src/start/HelloWorldSwing.j ava
Bước 4: Giống như tất cả các chương trình swing, chương trình này được tạo ra bên trong một Package. Hãy nhìn vào dòng đầu tiên của mã nguồn
package start;
Nghĩa là bạn phải đặt file HelloWorldSwing.java vào trong thư mục Start
Bước 5: dịch chương trình, sử dụng lệnh
• javac start/HelloWorldSwing.java
• Nhận được file HelloWorldSwing.class
Bước 6: chạy chương trình, sử dụng lệnh
• java start.HelloWorldSwing
Container trong java Swing
Thành phần chứa trong Swing, hay còn gọi là Container
Có 2 kiểu Container trong Swing, đó là Top-level Container và Multi-purpose Container
Swing cung cấp cho chúng ta 3 loại Top-level Container đó là:
• JFrame
• JDialog
• JApplet: được sử dụng cho ứng dụng web
• JWindow: loại này không có đặc điểm gì cả, chỉ là một màn hình chờ được bật lên trong lúc khởi động (Splash – Screen)
General-purpose thì gồm có: JPanel, JLayered, JInternalFrame, và JDesktopPane
JFrame là gì? Chương trình Swing đầu tiên.
JFrame là một Top-level Container thường được sử dụng để tạo các giao diện ứng dụng người dùng. Tất cả các đối tượng liên quan tới JFrame được quản lý bởi đứa con duy nhất của nó, một thể hiện (instance) của JRootPane. JRootPane có 4 phần chính là GlassPane, LayeredPane, ContentPane và MenuBar.
Post a Comment